package com.zr.java8.pattern.state;

public class StatePatternDemo {
    public static void main(String[] args) {
        OrderContext order = new OrderContext();
        System.out.println("初始状态：" + order.getCurrentStateName()); // 待支付

        order.pay(); // 支付订单
        System.out.println("当前状态：" + order.getCurrentStateName()); // 已支付

        order.ship(); // 发货
        System.out.println("当前状态：" + order.getCurrentStateName()); // 已发货

        order.complete(); // 完成订单
        System.out.println("当前状态：" + order.getCurrentStateName()); // 已完成

        // 测试错误操作（已完成状态下支付）
        order.pay(); // 输出错误提示
    }
}
